package com.yuantu.judiciary.service;

import com.wechat.pay.java.service.payments.jsapi.model.PrepayResponse;
import com.wechat.pay.java.service.payments.jsapi.model.PrepayWithRequestPaymentResponse;
import com.wechat.pay.java.service.payments.model.Transaction;
import com.wechat.pay.java.service.refund.model.Refund;
import com.wechat.pay.java.service.transferbatch.model.InitiateBatchTransferResponse;
import com.yuantu.judiciary.model.dto.AddOrderDTO;
import com.yuantu.judiciary.model.dto.RefundOrderDTO;

import javax.servlet.http.HttpServletRequest;

/**
 * 微信支付
 *
 * @author syw
 * @since 2023-08-14
 **/
public interface IApiWxPayService {

    PrepayResponse addOrder(AddOrderDTO data);

    PrepayWithRequestPaymentResponse getParam(AddOrderDTO data);

    Transaction callOrder(HttpServletRequest request);

    Refund executeRefund(RefundOrderDTO data);

    Refund queryRefund(String refundNo);

    InitiateBatchTransferResponse executeTransfer(Long exTractPointId);

    com.wechat.pay.java.service.payments.h5.model.PrepayResponse addPageOrder(AddOrderDTO addOrderDTO);
}
